################################
#
#     Makefile ASSEGNAMENTO3 2015
#    
################################

# se si utilizza no naltri file oltre liste.c inserirli nella variabile
# FILE_DA_CONSEGNARE e modificare il makefile in modo he la compilazione
# avvenga correttamente
# ricordarsi di commentare adeguatamente le modifiche

FILE_DA_CONSEGNARE=liste.c

# preferenze copilatore e flag di compilazione
CC=gcc
CFLAGS= -Wall -pedantic -g

# moduli oggetto libreria liste
objects=liste_docenti.o liste.o

# phony targets
.PHONY: cleanall test1 test2 test3 consegna3 docu

liste1 : test_one.o $(objects)
	gcc $(objects) test_one.o -o liste1

liste2 : test_two.o $(objects)
	gcc $(objects) test_two.o -o liste2

liste3 : test_three.o $(objects)
	gcc $(objects) test_three.o -o liste3


liste.o: liste.c liste.h
liste_docenti.o: liste_docenti.c liste.h
test_one.o: test_one.c liste.h
test_two.o: test_two.c liste.h
test_three.o: test_three.c liste.h


cleanall: 
	-rm -f *.o *~ ./core liste1 liste2 liste3

test1: 
	make cleanall
	-rm -fr test_one_*.txt
	cp DATA/nomi.txt .
	cp DATA/test_one_*.check .
	chmod 644 nomi.txt 
	chmod 644 test_one_*.check
	make liste1
	./liste1
	diff test_one_out.txt test_one_out.check
	./liste1 1> test_one_stdout.txt 
	diff test_one_stdout.txt test_one_stdout.check
	@echo "********** Test1 superato!"

test2: 
	make cleanall
	-rm -fr test_two_*.txt
	cp DATA/officinaliSpontanee.txt .
	cp DATA/test_two_out.check .
	chmod 644 officinaliSpontanee.txt 
	chmod 644 test_two_out.check
	make liste2
	./liste2
	diff test_two_out.txt test_two_out.check
	@echo "********** Test2 superato!"

test3: 
	make cleanall
	-rm -fr test_three_*.txt
	cp DATA/nomi2.txt .
	cp DATA/test_three_*.check .
	chmod 644 nomi2.txt 
	chmod 644 test_three_*.check
	make liste3
	./liste3
	diff test_three_out.txt test_three_out.check
	@echo "********** Test3 superato!"


consegna:
	make cleanall
	make test1
	make test2
	make test3
	./gruppo-check.pl < gruppo.txt
	tar -cvf $(USER)-a3.tar ./gruppo.txt  $(FILE_DA_CONSEGNARE) 
	@echo "********** TAR creato inviare in allegato a una mail a \nsusanna.pelagatti@unipi.it insieme a nome, cognome,  numero di matricola e corso di appartenenza (Solo corso B)"
